function validate(val){
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		val.submit(function(){
			var i=0,j=0,k=0;a=new Array();
			$('.error_string').hide();
			$v=val.find('.required');
			$v.each(function(){
				$t=$(this);
				$name=$t.attr('name'); 
				$left=($t.offset().left+$t.width()+25)+'px';
				$top=($t.offset().top)+'px';
				if($t.val()=='') {
					i++;
					$('body').append('<div class=error_string style="position:absolute;color:red;left:'+$left+';top:'+$top+';z-index:20101;-webkit-border-radius: 2px;-moz-border-radius: 2px;border-radius:2px; background-color:#a4ffc2;height:16px;padding:2px 2px 2px 2px;">'+$name+' Field should not be empty</div>');
				}
			});
			$mat=val.find('.required.match');
			if($mat.length>0){
			$mat.each(function(){
				$t=$(this);
				$name=$t.attr('name'); 
				$left=($t.offset().left+$t.width()+25)+'px';
				$top=($t.offset().top)+'px';
				a[j]=$(this).attr('rule');$t1=$(this).val();
				$mat.each(function(){
					a[k]=$(this).attr('rule');
					if(a[k]==a[j] && k!=j) {
						$t2=$(this).val();
						if($t1==''){
							i++;
							$('body').append('<div class=error_string style="position:absolute;color:red;left:'+$left+';top:'+$top+';z-index:20101;-webkit-border-radius: 2px;-moz-border-radius: 2px;border-radius:2px; background-color:#a4ffc2;height:16px;padding:2px 2px 2px 2px;">'+$name+' Field should not be empty</div>');
						}
						else if($t2==''){
							i++;
							$('body').append('<div class=error_string style="position:absolute;color:red;left:'+$left+';top:'+$top+';z-index:20101;-webkit-border-radius: 2px;-moz-border-radius: 2px;border-radius:2px; background-color:#a4ffc2;height:16px;padding:2px 2px 2px 2px;">'+$name+' Field should not be empty</div>');
						}
						else if($t1!=$t2) { 
							$('body').append('<div class=error_string style="position:absolute;color:red;left:'+$left+';top:'+$top+';z-index:20101;-webkit-border-radius: 2px;-moz-border-radius: 2px;border-radius:2px; background-color:#a4ffc2;height:16px;padding:2px 2px 2px 2px;">'+$name+' Should be matched</div>');
							i++;
						}
					}
					k++;
				});
				j++;
			});
			}
			$v=val.find('.email');
			$v.each(function(){
				$t=$(this);
				$name=$t.attr('name'); 
				$left=($t.offset().left+$t.width()+25)+'px';
				$top=($t.offset().top)+'px';
				if($t.val()=='') {
					i++;
					$('body').append('<div class=error_string style="position:absolute;color:red;left:'+$left+';top:'+$top+';z-index:20101;-webkit-border-radius: 2px;-moz-border-radius: 2px;border-radius:2px; background-color:#a4ffc2;height:16px;padding:2px 2px 2px 2px;">'+$name+' Field should not be empty</div>');
				}
				else if(reg.test($t.val()) == false) {
					i++;
					$('body').append('<div class=error_string style="position:absolute;color:red;left:'+$left+';top:'+$top+';z-index:20101;-webkit-border-radius: 2px;-moz-border-radius: 2px;border-radius:2px; background-color:#a4ffc2;height:16px;padding:2px 2px 2px 2px;">'+$name+' Field is not valid email</div>');
				}
			});
			if(i==0) return true;
			else return false;
		});
}
